package cn.kgc.spring.day0302.config;

import cn.kgc.spring.day0302.entity.Student;
import com.mysql.jdbc.Driver;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * @author 课工场
 * @date 2024/7/15
 * @description   配置类  通过该类实现对象的托管
 *   通过在类上添加@Configuration注解  标识当前类时一个配置类
 *   在类中可以编写一些普通方法实现对象的托管,方法的返回值就是需要托管到spring容器中的对象,在托管时默认使用方法名作为对象的key
 *   方法的返回值作为托管的对象 前提条件是在方法上添加了 @Bean
 */
@Configuration
public class BeansConfig {

    @Bean("conn")  //  指定对象的key
    public  Connection  connection(){

        try {
            Driver driver = new Driver();
            DriverManager.registerDriver(driver);
            String username = "root";
            String password = "root";
            String url = "jdbc:mysql://localhost:3306/java2425";
            Connection connection = DriverManager.getConnection(url, username, password);
            return connection;
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

    @Bean
    public Student student(){

        Student student = new Student();
        student.setAge(20);
        student.setName("tom");
        return student;

    }

}
